1. Field of the Invention
The present invention relates to the prediction of data in a decoding system of the type used with, for example, distributed video coding (DVC).
2. Description of the Related Art
Distributed video coding (DVC) is a new coding method that has grown out of coding theoretical research by Slepian and Wolf and further work by Wyner, Ziv, and others. In one DVC method, the encoder carries out only intraframe coding, while the decoder carries out both intraframe and interframe decoding. Distributed video coding has been attracting considerable attention because it can greatly reduce the computational load on the encoder.
An example of distributed coding is outlined in FIG. 1, which is taken from Aaron et al., ‘Transform-Domain Wyner-Ziv Codec for Video’, Proc. SPIE Visual Communications and Image Processing, San Jose, Calif., 2004. In the encoder, a video image sequence is divided into key frames, to which conventional intraframe coding and decoding are applied, and so-called Wyner-Ziv frames, to which Slepian-Wolf coding and decoding processes are applied. In the encoding process, a discrete cosine transform (DCT) is used to transform each Wyner-Ziv frame to the coefficient domain, the coefficients are grouped into bands, the coefficients in the k-th band are quantized by a 2Mk-level quantizer, the quantized coefficients (qk) are expressed in fixed numbers of bits, and the bit planes are extracted and supplied to a Slepian-Wolf encoder that that produces information bits and error-correcting bits, called parity bits. The parity bits are stored in a buffer for transmission to the decoder. The information bits are conventionally discarded.
To decode a Wyner-Ziv frame, the decoder generates a predicted image by interpolation or extrapolation from one or more key frames, applies a DCT to convert the predicted image to the coefficient domain, groups the coefficients into bands, and inputs the coefficients in each band as side information to a Slepian-Wolf decoder. The Slepian-Wolf decoder requests the parity bits it needs to detect and correct errors in the side information. If necessary, further parity bits can be requested and the decoding process can be repeated until a satisfactorily consistent result is obtained.
Finally, the decoded values and the side information are both used to reconstruct the coefficients of the Wyner-Ziv frame, and an inverse discrete cosine transform (IDCT) is carried out to recover the image.
The accuracy of the predicted image (side information) generated by the decoder is known to be a major factor affecting the compression ratio in distributed video coding. The compression ratio can be improved by generating more accurate side information. Updating of the side information has therefore been proposed by Adikari et al. in ‘A Sequential Motion Compensation Refinement Technique for Distributed Video Coding of Wyner-Ziv Frames’, Proc. IEEE International Conference on Image Processing, Atlanta, Ga., 2006, pp. 597-600. As shown in FIG. 2, the proposed scheme involves a Slepian-Wolf decoder 101, a decoded image generator 102, a key frame decoder 103, a decoded image buffer 104, a side information generator 105, a side information updater 106, and a motion vector estimator 107. After each bit plane has been decoded, it is used to update the side information, and the motion vector estimator 107 uses the updated side information to perform motion estimation and compensation, thereby generating a new predicted image, from which the information bit extractor 108 obtains the predicted values of the information bits in the next bit plane.
By improving the accuracy of the predicted information bits in each successive bit plane, this scheme improves the compression ratio, but it imposes a very heavy computational load on the decoder, which must repeat the computationally intensive motion vector search and the motion compensation processing for each bit plane.
Another disadvantage is that the bit planes cannot be processed in parallel.